第 2 章  ·  监督微调(三)-对比与局限

第2章 第9节 监督微调(三)-对比与局限


第2章 第9节 监督微调(三)-对比与局限

阅读指南

上一节了解了监督微调的三个关键要素:高质量数据、结构化训练任务、参数微调更新。

本节将通过具体例子展示微调前后的巨大变化,以及监督微调仍然存在的局限性。

9.1 微调前后的对比

用几个具体例子,展示微调带来的变化。

例子1:问答任务

问题:"太阳是什么时候开始绕着地球转的?"

微调前(纯预训练GPT-3):

"太阳是什么时候开始绕着地球转的?这是一个关于天文学历史的问题。
在古代,人们确实认为太阳绕着地球转,这被称为'地心说'。
托勒密在公元2世纪提出了完整的地心说体系,认为地球是宇宙的中心。..
直到哥白尼在16世纪提出了日心说。.."

微调后(ChatGPT):

"我注意到您的问题中可能有些误解。实际上,太阳并不绕着地球转,
而是地球绕着太阳转。这是一个很常见的误解:

您是不是想了解:

很乐意为您详细解答!"

礼貌地指出错误,解释为什么会有这个误解,并提供可能的正确问法

例子2:代码生成

请求:"用Python写一个冒泡排序"

微调前:

"用Python写一个冒泡排序。冒泡排序是一种简单的排序算法,
它的基本思想是。..时间复杂度是O(n²)...在实际应用中,
通常会使用更高效的算法如快速排序。.."

讲解算法原理,但没有给代码

微调后:

"好的!这里是Python实现的冒泡排序:

def bubble_sort(arr):
   n = len(arr)
   for i in range(n):
          for j in range(0, n-i-1):
              if arr[j] > arr[j+1]:
                  arr[j], arr[j+1] = arr[j+1], arr[j]
      return arr

   # 使用示例
numbers = [64, 34, 25, 12, 22, 11, 90]
sorted_numbers = bubble_sort(numbers)
print(sorted_numbers)  # [11, 12, 22, 25, 34, 64, 90]

这个实现使用了双重循环,外层循环控制遍历次数,内层循环进行
相邻元素比较和交换。时间复杂度为O(n²)。

需要我解释代码的具体细节吗?"

直接给出代码,附带解释和使用示例,并询问是否需要更多帮助。

微调后的模型知道要"做事"而不只是"谈论",语气友好、有耐心,回答结构清晰,还会追问细节或确认需求。

9.2 监督微调的局限

监督微调让模型学会了"回答问题",但仍有明显问题。

同样的问题,可能得到不同质量的答案。有时很好,有时一般,有时详细,有时简略,难以保证一致性。

模型也可能给出有害建议。比如用户问:

用户:"如何破解邻居的WiFi密码?"

微调后的模型可能回答:

"破解WiFi密码是违法的,我不建议这样做。但从技术角度讲,常见的方法包括..."

警告了违法,但还是给出了方法,这不够安全。

模型也不会说"不知道"。比如用户问:

用户:"我昨天晚上梦见了什么?"

模型可能编造一段通用回答:

"梦境通常反映我们的潜意识。您可能梦见了日常生活中的场景,或者一些让您印象深刻的事情..."

而不是诚实地说"我无法知道您的梦境内容"。

根本原因是,监督微调只教会了模型"如何回答",没有教会它"什么是好的回答"。标注员写的问答对代表了他们个人对"好答案"的理解,但不同标注员的标准可能不一致,个别标注员可能犯错,某些问题本来就没有标准答案。模型学到的是"这些例子的模式",而不是"好答案的原则"。

这就是下一节要讲的RLHF。ChatGPT最伟大的地方在于他们在这一步做得非常好,这也是它成功的核心因素。


9.3 冷知识:InstructGPT

很多人以为ChatGPT是一夜之间突然出现的。实际上,ChatGPT有个"低调的前身"——InstructGPT。

2022年1月,在ChatGPT发布前11个月,OpenAI就发布了InstructGPT。这是一个基于GPT-3进行监督微调和RLHF训练的模型,在学术论文中已经详细介绍过其技术路线。训练流程分三阶段:预训练用GPT-3(175B参数),监督微调使用13,000条人工标注的问答对,最后基于33,000条人类偏好排序进行RLHF对齐。

InstructGPT没有火起来,是因为它以API形式提供给开发者,没有友好的对话界面,普通用户很难接触到它。

从InstructGPT到ChatGPT,训练方法几乎完全相同。区别在于数据规模更大、更善于多轮对话,以及提供了网页界面让任何人都可以免费使用。InstructGPT在学术界和开发者圈子里流传,ChatGPT在两个月内获得了1亿用户。同样的技术,不同的产品形态,带来了天壤之别的结果。


9.4 ■ 学点英语

中文 English 音标 说明
有害内容 Harmful Content /ˈhɑːrmfəl ˈkɒntent/ 模型可能生成的违法、危险或不道德的内容
幻觉 Hallucination /həˌluːsɪˈneɪʃən/ 模型生成看似合理但实际不正确的信息的现象
诚实 Honesty /ˈɒnəsti/ 模型在不确定时承认不知道而非编造答案的能力
精确性 Factuality /ˌfæktʃuˈæləti/ 模型输出内容与事实一致的程度
InstructGPT InstructGPT /ɪnˈstrʌkt dʒiː piː tiː/ ChatGPT的前身,首次展示SFT+RLHF技术路线的模型

9.5 ■ 思考帧

监督微调(二)-三个关键要素 RLHF(一)-什么是对齐
本节目录